#ifndef PLOG_LOGGER_H_
#define PLOG_LOGGER_H_

namespace plog
{

    class message;

    enum log_level;

//////////////////////////////////////////////////////////////////////////

    class logger
    {   
    public:
        virtual void write(const message& msg) = 0;
        virtual bool check_severity(log_level severity) = 0;
        virtual ~logger()
        {}
    };

    inline logger& operator+=(logger& l, const message& msg)
    {
        l.write(msg);
        return l;
    }
}

#endif //PLOG_LOGGER_H_